package com.guyu.plugin.password.crypto;

import java.io.Serializable;

/**
 * <p> 密码加密算法 </p>
 *
 * @date 2023/8/10
 */
public interface PasswordCrypto extends Serializable {
    /**
     * 编码为Hex字符串
     *
     * @param data 被加密的字符串
     * @return Hex字符串
     */
    String encryptHex(String data);

    /**
     * 解密为字符串，密文需为Hex（16进制）或Base64字符串
     *
     * @param data 数据，Hex（16进制）或Base64字符串
     * @return 解密后的密文
     */
    String decryptStr(String data);

    /**
     * 生成文件摘要
     *
     * @param data 被摘要数据
     * @return 摘要
     */
    String digestHex(String data);
}
